perm filename LSPLOT.F79[206,LSP]1 blob sn#476797 filedate 1979-09-24 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00016 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	.if FALSE then begin "outline"
C00005 00003	.require "bkmac.pub[lsp,clt]" source_file
C00006 00004	.BEGIN "Title"
C00007 00005	.INSERT CONTENTS
C00008 00006	.s(PREFACE,Preface)
C00011 00007	.SET SECTIONPARS(I,1,Section,1)
C00012 00008	.GET |MICRO.S78[206,LSP]|
C00013 00009	.s(LOTS,USING MACLISP AT LOTS)
C00014 00010	.ss(intro,Introduction)
C00022 00011	.ss(sample, Running LISP )
C00027 00012	.ss(homew,Suggestions for Homework Preparation.)
C00031 00013	.GET |EDITOR.F79[206,LSP]|
C00032 00014	.GET |NEWIO.F79[206,LSP]|
C00033 00015	.SET SECTIONPARS(A,1,Appendix,i)
C00060 00016	.mkcontents
C00061 ENDMK
C⊗;
.if FALSE then begin "outline"

Intro--what to get out of this handout

micro manual---jmc

Student MACLISP at LOTS
	Invoking LISP
	Read-Eval-Print
	   remark on uc=lc
	   comments
	   <cntrl>g
	DEFUN 
	TRACE,STEP
	Grindef
	DSKIN, PPOUT, DKSOUT?


Sample session
    Invoke LISP
    Eval some elementary expressions
    Defining functions
    Grindeffing them
    Saving results in file
    Reading files on 
	your area
	CS206 area

Preparing homework assignments
	create a file with function definitions
		or use editor and store the results
	read them into LISP and debugg
		(possibly editing and saving the corrections)
	prepare final defn file
	photo session showing sample runs

Editor
   documentation
   Editing old defn
   starting from scratch

I/O
    file-spec
    open,close,uread,uwrite,ufile
    controls: ↑<char> outfiles
    read, etc.
    examples:dskin ppout 


.end "outline"
.require "bkmac.pub[lsp,clt]" source_file
.odd heading(, {sname}, {page}) ;
.even heading({page}, {sname}, ) ;
.MACRO GET(FILE) ⊂ BEGIN "FILE" REQUIRE "FILE" SOURCE_FILE
.END "FILE" ⊃
.BEGIN "Title"
.pagehigh←54
.pagewide←80
.PAGE FRAME pagehigh HIGH pagewide WIDE;
.evenleftborder ← oddleftborder ← 1000;
.area title lines 16 to pagehigh;
.place title;
.sname ← SSNAME ← NULL
.PORTION TITLEPAGE
.FONT A "BEESIX";
.center select A
LISP
.SKIP 2
at 
.SKIP 2
LOTS
.skip 10
.select 1
Documentation of the Student version of MACLISP at LOTS
.skip 1
Compiled for CS206
.skip 1
by  Carolyn Talcott
.SKIP 1
Stanford University
.skip 2
.TURN ON "{}"
This version printed at {time} on {date}.
.TURN OFF 
.END "Title"
.
.INSERT CONTENTS
.COUNT PAGE FROM 1 TO 999
.COUNT SECTION FROM 1 TO 999
.COUNT SUBSECTION IN SECTION FROM 1 TO 999
.sname ← SSNAME ← NULL
.turnon "{}"
.PORTION MAINPORTION
.SET SECTIONPARS(,,Preface,i)
.s(PREFACE,Preface)

	This note is intended as an introduction to the use of the 
student version of MACLISP currently available at the Stanford LOTS 
Computing Center.  It is particularly aimed at students in CS206.

	The first section is a MICRO MANUAL for LISP written by
John McCarthy.  It contains a description of the primitives of LISP,
their semantics and some useful abbreviations for pratical use.
As this contains discussion of only the very basic notions of LISP
it is essentially implementation independent and any reasonable LISP
should behave in this way (some abbreviations may have different
names).

	In the second section we give some directions for using the student
version of MACLISP at LOTS.  It differs from the system MACLISP
in minor (hopefully helpful) ways.
There is a "photo" of a sample session with the LISP interpreter
using the basic features that the student will need.
Some suggestions on the mechanics of writing, debugging, and preparing
results to turn in as homework are also given.

	The third section contains documentation for the editor available
in the student version of MACLISP at LOTS.  There is also a "photo"
of two sessions with the editor.  In the first session we
modify an existing program.  In the second we build a program
from scratch with the aid of the editor.

	The fourth section describes Input/Output in
MACLISP and includes a few examples of the use of
the I/O operations.  

	We have included as an appendix a listing of MACLISP functions,
features, systerm variables, etc. valid for the TOPS-20 version of
MACLISP.   

	For general documentation see the MACLISP reference manual.

.SET SECTIONPARS(I,1,Section,1)
.itemmac
.GET |MICRO.S78[206,LSP]|
.s(LOTS,USING MACLISP AT LOTS)
.ss(intro,Introduction)

	The student version of MACLISP can be run at LOTS  by typing 
"LISP" to the LOTS monitor.   In general when you invoke MACLISP you
are asked to decide on allocation of space.  In the student version
the allocation of various spaces has already been done in this version, 
so it asks you no embarrassing questions.

.bb |Evaluating, errors, debugging.|

	As with other LISP interpreters, the top level is a 
read-eval-print loop.  Type in an S-expression and LISP returns the value.
MACLISP ordinarily does not distinguish between upper and lower case letters.
It values are normally printed in upper case.  
Thus if you type $$(quote a)$  the value returned will be $A.  
(See the section on I/O for exceptions.)
Error messages and other comments generated by the system
are prefaced by a semi-colon.  When an error is detected, MACLISP
prints a message saying what it thinks is wrong, and goes into a "break-loop" 
allowing you to examine the environment in which the error occurred.  
(This feature is documented in the MACLISP reference manual.)__ 
To return to the top level type <control>G.  
(Hold down the <control> key while typing "G".)__
Sometimes the error message is sufficient to tell you what is wrong.  
Often it is not.  There are some useful debugging aids in LISP.  In
particular, the $TRACE and $STEP facilities are helpful.  If you
$$(TRACE FOO)$ and then evaluate $$(FOO arg1 ... argn)$, each
time $FOO is called the values of the arguments are printed and
each time it is exited, the result is printed.  To turn off the trace
type $$(UNTRACE FOO)$.   $STEP allows you to step through the evaluation
of an expression.  $TRACE and $STEP are  documented in the MACLISP reference
manual.  We will give examples of their use.   Try them out on some simple
programs that you understand.

.bb Pretty-printing.

	If you have defined a program (using $$DEFUN$ for example) then you can
"pretty-print" it using $GRINDEF.   A pretty-printer prints the
program nicely indented to exhibit the structure of the program.
$$(GRINDEF_fq1_..._fq-)$  pretty prints the functional and value
properties (if any) of the atoms $$f%4i%*$.  By functional
propteries we mean $EXPR, $FEXPR, $MACRO, etc.  which may be
set using $DEFUN.  Ordinarily and atom has at most one of these
properties, but nothing prevents it from having several.

.bb Simple file I/O.

	In addition to printing definitions on the terminal
you will want to read them from a file and write them onto a file.
This version of MACLISP has the I/O programs $DSKIN, $QREAD, and
$PPOUT.  $DSKIN and $QREAD do file input.  $DSKIN expects that the
file contains a sequence of S-expressions.  It reads, evaluates
and prints the results repeatedly until the end-of-file is reached.
It returns the "file object" corresponding the that file.  (See 
Section {section IO} for a discussion of files and file objects.)__
Thus $$(DSKIN FUNS LSP)$ reads the file FUNS.LSP on the current
default directory.
In the beginning the current default directory is your directory.
None of the above I/O operations change the default.
(See Section {section IO} for discussion of setting and determining 
the current defaults.)
To read a file from some other directory, say from the CS206 directory
type  $$(DSKIN_(DSK_|C.CS206|)_FUNS_LSP)$.   $$(DSK_|C.CS206|)$ is
the directory component.  The "|"s cause LISP to treat all characters
alike thus allowing "_._", "_"(space), "(", etc. to occur in a name.
$QREAD works like $DSKIN but quietly.  It reads and evaluates, but 
does not print.  Both are useful for reading in files containing 
program definitions.

	To write the definitions of $BAX, $BLETCH, and $MUMBLE on 
the file $FOO.BAR in the current default directory type
.once center

$$(PPOUT_(FOO_BAR)_BAX_BLETCH_MUMBLE).$

If you wish to do output on a directory other than the default
the directory name must be included in the file namelist.
(This may cause an error if you are not allowed to write on that
directory.)  $PPOUT uses $GRINDEF, so all functional and value
properties of the atoms in the list will be printed in the file.
Nothing is printed on the terminal and PPOUT returns the file object
corresponding to the file written in.  

[Remark:  $PPOUT creates a new file and any existing file of the
same name will disappear.]

.bb Editing.

	This version is setup to use the LISP program editor available at 
SAIL rather than the one provided with the system.   Documentation
and examples are in section {section EDITOR} of this manual.

.bb Exiting.

	To exit LISP type <control>C.  

.next page
.ss(sample, Running LISP )

	The following is the log of a session with LISP at LOTS.  Things
in lower case are typed by the user and those in UPPER case are generated
by LISP.  A single semicolon ";" flags a comment made by LISP. A triple
semicolon ";;;" flags a comment made by the user.
.begin "session"
.select 6 
.verbatim

@lisp 
MACLISP Here!
NIL 

t				;;; evaluating some constants
T 
nil
NIL 
1
1 
10
10 
10.				;;; MACLISP works base 8, 
12 				;;; a dot after an integer means base 10
(car '(a . b))
A 
(car (cons 'a 'b))
A 
(null 'a)
NIL 
(atom 'a)
T 
(eq 'b (cdr (cons 'a 'b)))
T 
(append '(1) ())
(1) 
(append '(1) '(2))
(1 2) 
(append '(a) 'b)
(A . B) 
(append 'a ())			
;A ILLEGAL DATUM - CAR
;BKPT WRNG-TYPE-ARG
(boundp u)			;;;u is not bound just after error
NIL 
(boundp v)			;;;v is bound  to NIL
T 
v
NIL 
QUIT				;;;exit break loop
* 
(trace append)		;;;see what we can find out by looking at the TRACE
;Loading trace 65
(APPEND) 

(append '(a) ())		;;; first try something that succeeds
(1 ENTER APPEND ((A) NIL)) 
  (2 ENTER APPEND (NIL NIL)) 
  (2 EXIT APPEND NIL) 
(1 EXIT APPEND (A)) 
(A) 

(append 'a ())			;;; now look at the bad one
(1 ENTER APPEND (A NIL)) 
;A ILLEGAL DATUM - CAR		;;; fails in first call
;BKPT WRNG-TYPE-ARG
QUIT
* 
(untrace append)		;;; untrace and
(APPEND) 
(step t)			;;; step through the evaluation
EVALHOOK* 
(append 'a ())
(APPEND (QUOTE A) NIL) 		;;; type a <space> when the stepper types 
  (QUOTE A) 			;;; out the next expression to evaluate
  A				;;; to continue stepping
  NIL
  (COND ((NULL U) V) (T (CONS # #))) 
    (NULL U) 
      U = A
    NIL
    (CONS (CAR U) (APPEND (CDR U) V)) 
      (CAR U) 
        U = A
;A ILLEGAL DATUM - CAR		;;; aha!  APPEND does not work if
				;;; the first argument is not a list.
;BKPT WRNG-TYPE-ARG
QUIT
* 

;;; The file <c.cs206>EXAMPL.F79 contains the definition of 
;;; APPEND, FLATTEN, FLAT, FRINGE, SUBST, and SUBST#

(dskin (dsk |c.cs206|) exampl f79)      ;;; Read the file EXAMPL.F79 from
					;;; the <C.CS206> directory
APPEND 					;;; DSKIN reports the value of each
FLATTEN 				;;; expression it reads.
FLAT 
FRINGE 
SUBST 
SUBST# 
#FILE-IN-|DSK:<c.cs206>EXAMPL.F79|-64776    ;;; It returns the file object.

(crunit)				 ;;; The LISP name of my directory
(DSK |C.CLT|) 

(ppout (subst lsp) subst subst#)	;;; Pretty-print the definitions of 
					;;; SUBST and SUBST# in the file 
					;;; SUBST.LSP on my directory. PPOUT
					;;; returns the corresponding
#FILE-OUT-|DSK:<C.CLT>SUBST.LSP|-64764 	;;; file object.

(qread subst lsp)			;;; read SUBST.LSP on my directory,
#FILE-IN-|DSK:<C.CLT>APP.LSP|-64752     ;;; quietly.   QREAD also returns 
					;;; the file object.


.end "session"

.next page
.ss(homew,Suggestions for Homework Preparation.)

	Some of the homework for CS206 involves writing LISP programs to
compute some given recursive functions.  The student is expected to
debug the programs then turn in the following things for each program:

.item←0
.begin nofill

	#.  The internal form of the program.
	#.  The corresponding external form recursive definition.
	#.  A description of how the progam works and why.
	#.  Output from test runs on a variety of input.
.end		

This collection of data can be put together in many ways.  The following
procedure is just one possiblity.
.begin indent 4,8
.item←0

#.  Using some editor available at LOTS create a file and type in the
programs you wish to test.  This allows you to use the editor to
correct typos.   Parenthesis matching is essential here, so check it
carefully.

#.  When you think your programs are correctly written run LISP and
read in the file (using $DSKIN or $$QREAD$).  Now try your functions
on some trivial cases.   If you discover some bugs fix them
using the LISP editor and save them using $PPOUT to create a 
temporary file which can later be appended to the original.
(Alternately you can rewrite the entire file if not too large.)__
Now test them on non trivial data until you are convinced they
are correct.

#.  To get output from sample runs the LOTS "PHOTO" program is useful.
PHOTO creates a file in which it keeps a log of what you type to
the terminal and what it types back.  Type HELP PHOTO to the monitor
to find out how to use it.

#.  Finally you can edit the file containing the pretty printed versions
of your programs and add external form definitions and documentation
for each program, list this and the PHOTO file and turn them in.
.end

There are many variations on the above procedure.  You will no doubt
develop your own style and preferences.  This is intended only to
get you going and point out some of the possibilities in the case that
you are unfamiliar with LOTS, LISP or both.

.GET |EDITOR.F79[206,LSP]|
.GET |NEWIO.F79[206,LSP]|
.SET SECTIONPARS(A,1,Appendix,i)
.s(FEATUR,  MACLISP functions and features.)

.cb TOPS-20/TENEX MacLISP 1862 Functions and Other Features

	This a machine-generated, alphabetized listing of all functions 
and features in MACLISP.
.begin verbatim select 7

			User SUBRs:

			    *-READ-EVAL-PRINT      COPYSYMBOL             NCONS
			    *BREAK                 COS                    NOINTERRUPT
			    *DIF                   CXR                    NORET
			    *NOPOINT               DEFAULTF               NOT
			    *QUO                   DELETEF                NOUUO
			    *READ                  DEPOSIT                NRECONC
			    *READCH                DISPLACE               NREVERSE
			    *RSET                  EQ                     NTH
			    *THROW                 EQUAL                  NTHCDR
			    *TYI                   ERRFRAME               NULL
			    +TYO                   EVALFRAME              NUMBERP
			    1+                     EXAMINE                ODDP
			    1+$                    EXP                    OUT
			    1-                     EXPLODE                PLIST
			    1-$                    EXPLODEC               PLUSP
			    <                      EXPLODEN               PNGET
			    =                      EXPT                   PNPUT
			    >                      FASLP                  PROBEF
			    ABS                    FILEP                  PUTPROP
			    ADD1                   FILLARRAY              QMARK
			    ALLOC                  FIX                    READ-*-EVAL-PRINT
			    ALPHALESSP             FIXNUM-IDENTITY        READ-EVAL-*-PRINT
			    ARG                    FIXP                   READ-EVAL-PRINT-*
			    ARRAYDIMS              FLATC                  READLIST
			    ASCII                  FLATSIZE               RECLAIM
			    ASSOC                  FLOAT                  REMAINDER
			    ASSQ                   FLOATP                 REMOB
			    ATAN                   FLONUM-IDENTITY        REMPROP
			    ATOM                   FORCE-OUTPUT           RENAMEF
			    BIGP                   FRETRY                 RETURN
			    BOUNDP                 FRETURN                REVERSE
			    CAAAAR                 FSC                    ROT
			    CAAADR                 GC                     RPLACA
			    CAAAR                  GCD                    RPLACD
			    CAADAR                 GET                    RPLACX
			    CAADDR                 GETCHAR                RUNTIME
			    CAADR                  GETCHARN               SAMEPNAMEP
			    CAAR                   GETL                   SASSOC
			    CADAAR                 HAIPART                SASSQ
			    CADADR                 HAULONG                SET
			    CADAR                  HUNKP                  SETARG
			    CADDAR                 HUNKSIZE               SETPLIST
			    CADDDR                 IFIX                   SETSYNTAX
			    CADDR                  IMPLODE                SHORTNAMESTRING
			    CADR                   IN                     SIN
			    CAR                    INPUSH                 SLEEP
			    CDAAAR                 INTERN                 SQRT
			    CDAADR                 LAST                   SUB1
			    CDAAR                  LENGTH                 SUBLIS
			    CDADAR                 LENGTHF                SUBR
			    CDADDR                 LISTIFY                SUBST
			    CDADR                  LOAD                   SXHASH
			    CDAR                   LOG                    SYMBOLP
			    CDDAAR                 LSH                    SYMEVAL
			    CDDADR                 MAKHUNK                SYSP
			    CDDAR                  MAKNAM                 TIME
			    CDDDAR                 MAKNUM                 TRUENAME
			    CDDDDR                 MAKUNBOUND             TYPEP
			    CDDDR                  MEMBER                 VALUE-CELL-LOCATION
			    CDDR                   MEMQ                   XCONS
			    CDR                    MERGEF                 ZEROP
			    CLEAR-INPUT            MINUS                  \
			    CLEAR-OUTPUT           MINUSP                 \\
			    CLOSE                  MUNKAM                 ↑
			    CNAMEF                 NAMELIST               ↑$
			    CONS                   NAMESTRING             ↑G


			User FSUBRs:

			    *CATCH            CRUNIT            INCLUDE           STORE
			    *FUNCTION         DECLARE           LSUBRCALL         SUBRCALL
			    AND               DEFPROP           OR                THROW
			    ARRAY             DEFUN             POP               UAPPEND
			    ARRAYCALL         DO                PROG              UCLOSE
			    BREAK             ERR               PROGV             UFILE
			    CASEQ             ERRSET            PUSH              UKILL
			    CATCH             EVAL-WHEN         QUOTE             UNWIND-PROTECT
			    CATCH-BARRIER     FASLOAD           SETQ              UPROBE
			    CATCHALL          FUNCTION          SIGNP             UREAD
			    COMMENT           GCTWA             SSTATUS           UWRITE
			    COND              GO                STATUS


			User LSUBRs:

			    *             BOOLE         GREATERP      MAPLIST       RANDOM
			    *$            CHARPOS       HUNK          MAX           READ
			    *ARRAY        DELETE        LESSP         MIN           READCH
			    *REARRAY      DELQ          LINEL         NCONC         READLINE
			    +             DIFFERENCE    LINENUM       OPEN          RUBOUT
			    +$            ENDPAGEFN     LIST          PAGEL         SUSPEND
			    -             EOFFN         LIST*         PAGENUM       TERPRI
			    -$            ERROR         LISTARRAY     PLUS          TIMES
			    /             ERRPRINT      LISTEN        PRIN1         TYI
			    /$            EVAL          MAP           PRINC         TYIPEEK
			    APPEND        EVALHOOK      MAPATOMS      PRINT         TYO
			    APPLY         FILEPOS       MAPC          PROG2         VALRET
			    ARGS          FUNCALL       MAPCAN        PROGN
			    BAKLIST       GENSYM        MAPCAR        QUIT
			    BAKTRACE      GETSP         MAPCON        QUOTIENT



			STATUS options (* = can use with SSTATUS too):

			    * +                * FLUSH              PDL                TABSIZE
			    * ABBREVIATE         FXPDL            * PDLMAX           * TERPRI
			      ARRAY            * GCMAX              PDLNAMES         * TOPLEVEL
			      BPSH             * GCMIN              PDLROOOM         * TTY
			      BPSL             * GCSIZE             PDLSIZE          * TTYCONS
			    * BREAK            * GCTIME           * PUNT             * TTYINT
			    * CHTRAN             HOMEDIR            PURSIZE          * TTYREAD
			    * CRFIL              HSNAM              PURSPACENAMES    * TTYSCAN
			    * CRUNIT             JCL              * RANDOM             TTYTYPE
			      DATE               JNAME              SEGLOG             UDIR
			      DAYTIME            JNUMBER            SPCNAMES           UNAME
			    * DIVOV            * LINMODE            SPCSIZE          * UREAD
			      DOW                LISPVERSION        SPDL               USERI
			    * EVALHOOK         * LOSEF              SSTATUS          * UUOLINKS
			      FASLOAD          * MACRO              STATUS           * UWRITE
			    * FEATURE            MEMFREE            SUBSYS             XUNAM
			      FILEMODE           NEWLINE          * SYNTAX           * ←
			      FLPDL            * NOFEATURE          SYSTEM


			Initial arrays:

			    OBARRAY      READTABLE


			Initial User AUTOLOAD properties:

			    NAME OF ATOM                   INITIAL VALUE

			    CGOL                           ((DSK MACLISP) CGOL FASL)
			    CGOLREAD                       ((DSK MACLISP) CGOL FASL)
			    DEFMACRO                       ((DSK MACLISP) DEFMACRO FASL)
			    DEFMACRO-DISPLACE              ((DSK MACLISP) DEFMACRO FASL)
			    DEFUN&                         ((DSK MACLISP) DEFMACRO FASL)
			    DEFUN&-ERROR                   ((DSK MACLISP) DEFMACRO FASL)
			    DESETQ                         ((DSK MACLISP) LET FASL)
			    DUMPARRAYS                     ((DSK MACLISP) DUMPARRAYS FASL)
			    EDIT                           ((DSK MACLISP) EDIT FASL)
			    FORMAT                         ((DSK MACLISP) FORMAT FASL)
			    GETMIDASOP                     ((DSK MACLISP) GETMIDASOP FASL)
			    GRIND                          ((DSK MACLISP) GRIND FASL)
			    GRIND0                         ((DSK MACLISP) GRIND FASL)
			    GRINDEF                        ((DSK MACLISP) GRINDEF FASL)
			    LAP                            ((DSK MACLISP) LAP FASL)
			    LAP-A-LIST                     ((DSK MACLISP) LAP FASL)
			    LET                            ((DSK MACLISP) LET FASL)
			    LET*                           ((DSK MACLISP) LET FASL)
			    LOADARRAYS                     ((DSK MACLISP) DUMPARRAYS FASL)
			    MACRO                          ((DSK MACLISP) DEFMACRO FASL)
			    MACROEXPAND                    ((DSK MACLISP) DEFMAX FASL)
			    MACROEXPAND-1                  ((DSK MACLISP) DEFMAX FASL)
			    MACROEXPANDED                  ((DSK MACLISP) DEFMAX FASL)
			    MACROFETCH                     ((DSK MACLISP) DEFMAX FASL)
			    MACROMEMO                      ((DSK MACLISP) DEFMAX FASL)
			    READMACROINVERSE               ((DSK MACLISP) GRINDEF FASL)
			    SORT                           ((DSK MACLISP) SORT FASL)
			    SORTCAR                        ((DSK MACLISP) SORT FASL)
			    SPRINTER                       ((DSK MACLISP) GRINDEF FASL)
			    TRACE                          ((DSK MACLISP) TRACE FASL)


			LAP and FASLOAD functions:

			    *APPEND         *NCONC          *TYO            PURIFY
			    *APPLY          *PLUS           FASLAPSETUP|    PUTDDTSYM
			    *DELETE         *PRIN1          GCPROTECT       SQOZ|
			    *DELQ           *PRINC          GETDDTSYM       TTSR|
			    *EVAL           *PRINT          LAPSETUP|
			    *GREAT          *TERPRI         PAGEBPORG
			    *LESS           *TIMES          PURCOPY


			Internal system functions:

			    +INTERNAL-'-MACRO          +INTERNAL-TTYSCAN-SUBR
			    +INTERNAL-*RSET-BREAK      +INTERNAL-UBV-BREAK
			    +INTERNAL-;-MACRO          +INTERNAL-UDF-BREAK
			    +INTERNAL-AUTOLOAD         +INTERNAL-UGT-BREAK
			    +INTERNAL-FAC-BREAK        +INTERNAL-UREAD-EOFFN
			    +INTERNAL-GCL-BREAK        +INTERNAL-WNA-BREAK
			    +INTERNAL-GCO-BREAK        +INTERNAL-WTA-BREAK
			    +INTERNAL-INCLUDE-EOFFN    +INTERNAL-↑B-BREAK
			    +INTERNAL-IOL-BREAK        +INTERNAL-↑Q-MACRO
			    +INTERNAL-PDL-BREAK        +INTERNAL-↑S-MACRO
			    +INTERNAL-TTY-ENDPAGEFN    +INTERNAL-|-MACRO


			Internal system AUTOLOAD properties:

			    NAME OF ATOM                   INITIAL VALUE

			    |+INTERNAL-,-macro/||          ((DSK MACLISP) BACKQ FASL)
			    |+INTERNAL-`-grindmacros/||    ((DSK MACLISP) GRINDEF FASL)
			    |+INTERNAL-`-macro/||          ((DSK MACLISP) BACKQ FASL)
			    |+INTERNAL-macro-loser/||      ((DSK MACLISP) BACKQ FASL)
			    |+ibx/||                       ((DSK MACLISP) BACKQ FASL)
			    |DEFMACRO MACRO|               ((DSK MACLISP) DEFMACRO FASL)
			    |DEFMACRO-DISPLACE MACRO|      ((DSK MACLISP) DEFMACRO FASL)
			    |DEFUN& MACRO|                 ((DSK MACLISP) DEFMACRO FASL)
			    |MACRO MACRO|                  ((DSK MACLISP) DEFMACRO FASL)
			    |MACRO-macroexpander/||        ((DSK MACLISP) DEFMACRO FASL)
			    |MACRO-macroexpander/| MACRO|   ((DSK MACLISP) DEFMACRO FASL)
			    |MACROEXPANDED MACRO|          ((DSK MACLISP) DEFMAX FASL)
			    |MACROEXPANDED-grindmacro/||   ((DSK MACLISP) DEFMAX FASL)
			    |`,./||                        ((DSK MACLISP) BACKQ FASL)
			    |`,@/||                        ((DSK MACLISP) BACKQ FASL)
			    |`,/||                         ((DSK MACLISP) BACKQ FASL)
			    |`-expander/||                 ((DSK MACLISP) BACKQ FASL)
			    |`-expander/| MACRO|           ((DSK MACLISP) BACKQ FASL)
			    |forget-macromemos/||          ((DSK MACLISP) DEFMAX FASL)


			System variables:

			    NAME OF ATOM                   INITIAL VALUE

			    $P                             $P
			    *                              *
			    *-READ-EVAL-PRINT              NIL
			    *NOPOINT                       NIL
			    *RSET                          T
			    *RSET-TRAP                     +INTERNAL-*RSET-BREAK
			    +                              +
			    -                              -
			    //                             NIL
			    ARGS                           NIL
			    AUTOLOAD                       +INTERNAL-AUTOLOAD
			    BACKQUOTE-EXPAND-WHEN          EVAL
			    BASE                           10
			    CAR                            NIL
			    CDR                            NIL
			    CLI-MESSAGE                    NIL
			    COMPILER-STATE                 NIL
			    DEFAULTF                       ((DSK LOSER) @ @)
			    DEFMACRO-CHECK-ARGS            T
			    DEFMACRO-DISPLACE-CALL         T
			    DEFMACRO-FOR-COMPILING         T
			    DEFUN                          NIL
			    DEFUN&-CHECK-ARGS              T
			    DEFUN&-ERROR                   NIL
			    ECHOFILES                      NIL
			    EDIT                           NIL
			    ERRLIST                        NIL
			    ERROR-BREAK-ENVIRONMENT        (#OBARRAY-1200-64004 . 
			#READTABLE-0-64006)
			    ERRSET                         NIL
			    EVAL                           NIL
			    EVALHOOK                       NIL
			    FAIL-ACT                       +INTERNAL-FAC-BREAK
			    FASLOAD                        (SUBR FSUBR LSUBR)
			    GC-DAEMON                      NIL
			    GC-LOSSAGE                     +INTERNAL-GCL-BREAK
			    GC-OVERFLOW                    +INTERNAL-GCO-BREAK
			    GCTWA                          NIL
			    GRIND-MACROEXPANDED            NIL
			    GRINDEF                        NIL
			    HUNKP                          T
			    IBASE                          10
			    INFILE                         T
			    INSTACK                        NIL
			    IO-LOSSAGE                     +INTERNAL-IOL-BREAK
			    MACHINE-ERROR                  NIL
			    MACRO-EXPANSION-USE            MACROEXPANDED
			    MACROEXPANDED                  NIL
			    MACROMEMO                      NIL
			    MAKHUNK                        T
			    MAR-BREAK                      NIL
			    MSGFILES                       (T)
			    NIL                            NIL
			    NORET                          NIL
			    NOUUO                          NIL
			    OBARRAY                        #OBARRAY-1200-64004
			    OUTFILES                       NIL
			    PDL-OVERFLOW                   +INTERNAL-PDL-BREAK
			    PRIN1                          NIL
			    PRINLENGTH                     NIL
			    PRINLEVEL                      NIL
			    READ                           NIL
			    READ-*-EVAL-PRINT              NIL
			    READ-EVAL-*-PRINT              NIL
			    READ-EVAL-PRINT-*              NIL
			    READTABLE                      #READTABLE-0-64006
			    SYMBOLS                        NIL
			    SYS-DEATH                      NIL
			    T                              T
			    TERPRI                         NIL
			    TTY                            17
			    TTY-RETURN                     NIL
			    TYI                            #FILE-IN-|PRIMARY:*.|-64012
			    TYO                            #FILE-OUT-|PRIMARY:*.|-64014
			    UNBND-VRBL                     +INTERNAL-UBV-BREAK
			    UNDF-FNCTN                     +INTERNAL-UDF-BREAK
			    UNSEEN-GO-TAG                  +INTERNAL-UGT-BREAK
			    UREAD                          NIL
			    UWRITE                         NIL
			    WRNG-NO-ARGS                   +INTERNAL-WNA-BREAK
			    WRNG-TYPE-ARG                  +INTERNAL-WTA-BREAK
			    ZFUZZ                          NIL
			    ZUNDERFLOW                     NIL
			    ↑A                             NIL
			    ↑D                             NIL
			    ↑Q                             NIL
			    ↑R                             NIL
			    ↑W                             NIL
			    |`-,-level/||                  0


			LAP and FASLOAD variables:

			    NAME OF ATOM                   INITIAL VALUE

			    *PURE                          NIL
			    BPEND                          117707
			    BPORG                          116153
			    GCPROTECT                      NIL
			    LAPSETUP/|                     NIL
			    PURCLOBRL                      NIL
			    PURE                           1
			    PUTPROP                        (SUBR FSUBR LSUBR)
			    TTSR/|                         12614

.end
.mkcontents